/**
 * @author David Young
 */
package csab.core.utility;

/**
 * Classes that implement this interface should notify observing objects when
 * an event happens.
 * @author David Young
 * @see csab.core.utility.Observer
 * @see csab.core.utility.ObserverMessage
 */
public interface Observable {
	/**
	 * Add an Observer to the jurisdiction of this
	 * Observable object.
	 * @param obs The Observer to add for future
	 * notifications.
	 * @see csab.core.utility.Observer
	 */
	public void addObserver(Observer obs);
	/**
	 * Notify all observers owned by this Observable
	 * object of an event.
  	 * @see csab.core.utility.Observer
  	 * @see csab.core.utility.ObserverMessage
	 */
	public void notifyObservers();
}
